package com.zxc.mallProduct.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.zxc.mallProduct.dto.CategoryDTO;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 商品三级分类
 *
 * @author zxc 341219181@gmail.com
 * @since 1.0.0 2022-12-16
 */
@Data
@TableName("pms_category")
public class CategoryEntity {

    /**
     * 分类id
     * 指定catId为实体类的主键，从而保证实体类与数据库中表结构相互对应；
     */
    @TableId(type = IdType.AUTO)
	private Long catId;
    /**
     * 分类名称
     */
	private String name;
    /**
     * 父分类id
     */
	private Long parentCid;
    /**
     * 层级
     */
	private Integer catLevel;
    /**
     * 是否显示[0-不显示，1显示]
     */
    // 给showStatus字段添加逻辑删除注解
    @TableLogic(value = "1" , delval = "0")
    private Integer showStatus;
    /**
     * 排序
     */
	private Integer sort;
    /**
     * 图标地址
     */
	private String icon;
    /**
     * 计量单位
     */
	private String productUnit;
    /**
     * 商品数量
     */
	private Integer productCount;

    /**
     *  当前菜单属性的所有子属性
     */
    @TableField(exist = false)
    // 当前菜单元素的所有子属性
    // 由于是在前端页面以树形结构去展示商品系统的所有商品，即在实体类中默认地去添加 保存当前菜单属性的所有子属性的字段
    private List<CategoryEntity> children;
}